﻿using System.Data;
using System.Data.SqlClient;

namespace Billing
{

    ////////////////////////////////////////////////////////////////////////////////////////////////
    //类名：ClsBUsInAgency
    //说明：BUsInAgency控制类
    //
    //
    //创建时间：2012-08-23
    //版本：1.0.0.0
    ////////////////////////////////////////////////////////////////////////////////////////////////
    public class ClsBUsInAgency
    {
        private long _ID;
        private long _AgencyID;
        private string _BUIDName;
        private string _BUName;
        private bool _BUStatus;
        private long _CreatedBy;
        private long _ModifiedBy;

        public long ID
        {
            get
            {
                return this._ID;
            }
            set
            {
                this._ID = value;
            }
        }

        public long AgencyID
        {
            get
            {
                return this._AgencyID;
            }
            set
            {
                this._AgencyID = value;
            }
        }

        public string BUIDName
        {
            get
            {
                return this._BUIDName;
            }
            set
            {
                this._BUIDName = value;
            }
        }

        public string BUName
        {
            get
            {
                return this._BUName;
            }
            set
            {
                this._BUName = value;
            }
        }

        public bool BUStatus
        {
            get
            {
                return this._BUStatus;
            }
            set
            {
                this._BUStatus = value;
            }
        }

        public long CreatedBy
        {
            get
            {
                return this._CreatedBy;
            }
            set
            {
                this._CreatedBy = value;
            }
        }

        public long ModifiedBy
        {
            get
            {
                return this._ModifiedBy;
            }
            set
            {
                this._ModifiedBy = value;
            }
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：Save
        //参数：
        //  
        //  
        //功能：保存数据到数据库
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public int Save()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_Insert";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@AgencyID", this.AgencyID));
            sqlCommand.Parameters.Add(new SqlParameter("@BUIDName", this.BUIDName));
            sqlCommand.Parameters.Add(new SqlParameter("@BUName", this.BUName));
            sqlCommand.Parameters.Add(new SqlParameter("@BUStatus", (bool)(BUStatus)));
            sqlCommand.Parameters.Add(new SqlParameter("@CreatedBy", this.CreatedBy));
            //sqlCommand.Parameters.Add(new SqlParameter("@ModifiedBy", this.ModifiedBy));
            SqlParameter sqlParameter = new SqlParameter("@xPrimaryKey", SqlDbType.Int);
            sqlParameter.Direction = ParameterDirection.Output;
            sqlCommand.Parameters.Add(sqlParameter);
            return new DBManager().executeCommandQuery(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：Update
        //参数：
        //  
        //  
        //功能：更新数据到数据库
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public void Update()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_UpdateByID";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@ID", this.ID));
            sqlCommand.Parameters.Add(new SqlParameter("@AgencyID", this.AgencyID));
            sqlCommand.Parameters.Add(new SqlParameter("@BUIDName", this.BUIDName));
            sqlCommand.Parameters.Add(new SqlParameter("@BUName", this.BUName));
            sqlCommand.Parameters.Add(new SqlParameter("@BUStatus", (bool)(BUStatus)));
            //sqlCommand.Parameters.Add(new SqlParameter("@CreatedBy", this.CreatedBy));
            sqlCommand.Parameters.Add(new SqlParameter("@ModifiedBy", this.ModifiedBy));
            new DBManager().executeCommandQuery(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：Select
        //参数：
        //  
        //  
        //功能：根据ID从数据库取数据
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public DataTable Select()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_SelectByID";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@ID", this.ID));
            return new DBManager().executeCommandDataTable(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：SelectByAgencyID
        //参数：
        //  
        //  
        //功能：根据存储过程SP_BUsInAgency_SelectByAgencyID取数据
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public DataTable SelectByAgencyID()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_SelectByAgencyID";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@AgencyID", this.AgencyID));
            return new DBManager().executeCommandDataTable(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：SelectAll
        //参数：
        //  
        //  
        //功能：从数据库取全部数据
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public DataTable SelectAll()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_SelectAll";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            return new DBManager().executeCommandDataTable(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：Delete
        //参数：
        //  
        //  
        //功能：从数据库删除
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public void Delete()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "SP_BUsInAgency_DeleteByID";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@ID", this.ID));
            new DBManager().executeCommandQuery(sqlCommand);
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////
        //函数名：SelectActiveByAgencyID
        //参数：
        //  
        //  
        //功能：根据存储过程Sp_BUsInAgency_SelectActiveByAgencyID取数据
        //创建时间：2012-08-23
        //版本：1.0.0.0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        public DataTable SelectActiveByAgencyID()
        {
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "Sp_BUsInAgency_SelectActiveByAgencyID";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@AgencyID", this.AgencyID));
            return new DBManager().executeCommandDataTable(sqlCommand);
        }
    }
}
